Satellite signal receiver with position extrapolation filter

ABSTRACT

A GPS satellite signal receiver fitted on an aircraft. Velocity measurements are used to obtain position values at a sufficient rate to provide position extrapolation while waiting for the next position measurement. A corrected position is provided on the basis of a measured position by adding to the preceding corrected position, the velocity integrated between two times and a smoothing term which is a fraction of the difference between the measured position and the corrected position at the preceding position measurement time.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates to satellite positioning receivers such as GPS(Global Positioning System) receivers.

2. Discussion of the Background

The GPS system uses a constellation of satellites which move around theearth on very precisely determined orbits, that is to say it is possibleto know the position of an arbitrary satellite at any time. Thesatellites transmit radiofrequency signals, containing navigation dataand codes which make it possible to identify each satellite. These codesphase modulate a carrier frequency. A GPS receiver, on the ground or ona land, air or sea vehicle, can receive the signals from severalsatellites simultaneously, precisely calculate its distance from each ofthe satellites, and deduce therefrom its precise position in latitude,longitude and altitude in a terrestrial frame. It can also deducetherefrom the precise date and time of the reception in the time frameof the GPS system. It can lastly deduce therefrom, by Dopplermeasurements, its own velocity vector in the terrestrial frame (the caseof a receiver mounted on a moving vehicle).

In the GPS system, each satellite is identified by a pseudo-random codewhich is individual to it and repetitively (for example everymillisecond) modulates a carrier frequency which the satellitetransmits. There are systems similar to GPS, in particular the GLONASSsystem, in which this pseudo-random code also exists even though it isnot used to identify individual satellites. The invention which will bedescribed is directly applicable to the GLONASS system, but for the sakeof simplicity reference will be made below only to the GPS system, andmore precisely the “civil” part of the GPS system which also has amilitary part to which the invention is equally applicable.

The pseudo-random code is a long code (1023 bits at 1.023 MHz, i.e. 1millisecond), and one of its main functions is to make it possible toextract the satellite's signal from a noise level much higher (forexample 30 dB) than the level of the signal. This technique is nowwidely known as spread spectrum transmission. The signal is extractedfrom the noise using an operation, in the receiver, of correlationbetween the received signal and a periodic pseudo-random code which isidentical to the one expected to be found in the signal. If the codes donot coincide temporally, there is no correlation between the receivedsignals and the local code generated by a local code generator; if theyalmost coincide, there is some degree of correlation, the correlationenergy becoming stronger as the coincidence becomes more exact. It istherefore possible to establish a correlation signal making it possibleto slave the local code generator until exact coincidence is obtainedbetween the local code and the code modulating the signal which thesatellite transmits. A code slaving loop then makes it possible tomaintain this coincidence.

The pseudo-random code is transmitted by the satellite at extremelyprecise times which are known at the receiver. Use is made of thecorrelation operation to determine the arrival time of this code in thereceiver: the characteristic time or epoch of transmission of the localcode is determined, and since this local code coincides with thereceived code when the maximum correlation is established, this timerepresents the arrival time of the received code. The difference betweena time at which the code is transmitted via the satellite and a time atwhich the code is received by the receiver makes it possible todetermine a propagation time of the signals between the satellite andthe receiver. Knowing that the propagation velocity of the signals isthe velocity of light, the distance between the receiver and a givensatellite can be calculated. The same operation performed on two othersatellites makes it possible, by triangulation, to determine the exactposition of the receiver relative to the three satellites.

By using a fourth satellite, the clock errors of the receiver areeliminated, the clock of the receiver not being as precise as that ofthe satellites. Further to the position of the receiver, it is thenpossible to calculate a precise time for the position measurement, inthe time frame of the GPS satellites.

The position of each of the satellites is known at any time: it iscalculated on the basis of tables which are stored in the receiver andare updated by the navigation message broadcast by the satellites. Thevelocity of the satellites at any time can also be calculated on thebasis of these tables.

It is possible to determine, on the basis of the signals sent by foursatellites, the time and the position of the receiver relative to thefour satellites. Furthermore, by changing co-ordinates, the position ofthe receiver in a fixed terrestrial frame is obtained.

Similarly, the velocity of the receiver is calculated on the basis of aDoppler-effect measurement on the carrier frequency of theradiofrequency signal sent by the satellites. It is therefore possibleto calculate the relative velocity of the receiver with respect to eachof the satellites, along the director axis which joins this satellite tothe receiver. Four satellites are needed to eliminate the timeambiguity. Four different relative velocity vectors are obtained, alongthe director axes joining the receiver to the four satellites. Simplecalculations make it possible to determine the velocity of the receiveralong three axes in the terrestrial frame on the basis of these fourvelocity vectors and the following information:

the directions of the receiver-satellite director axes with respect to afixed terrestrial frame (longitude, latitude, altitude); thesedirections are themselves obtained by knowledge of the position of thereceiver at a given time and the position of each satellite at the sametime;

the individual velocities of the satellites in the terrestrial frame atthis time.

In view of the necessary compromise between the dynamic response and thenoise performance of the code slaving loops, it is difficult to obtainmore than one position measurement per second (a measurement deducedfrom the code-based measurements). In certain applications of GPSreceivers, this rate may be insufficient. This might be the case, forexample, if a GPS receiver were to be used by an aircraft in automaticpilot mode in a landing approach phase; this is why the use of GPSreceivers is not currently envisaged in this case. This is, however,regrettable because a GPS receiver would otherwise have all thequalities required for it to be used in this type of application.

SUMMARY OF THE INVENTION

In order to make it possible to use a GPS receiver on a mobile inapplications where the rate at which the position is supplied has to begreater than that which the receiver normally supplies, it is proposedaccording to the invention to combine a position measurement based on apseudo-distance measurement at a given time and a velocity measurementprovided by the receiver on the basis of Doppler measurements in thepseudo-distance measurement circuits (as opposed to velocitymeasurements which could be obtained by differentiating positionmeasurements, or velocity measurements obtained by instruments otherthan the GPS receiver), in order to extrapolate the position of thereceiver at times intermediate between two position measurements and toprovide corrected intermediate positions between two measurements takenon the basis of the pseudo-distances.

Furthermore, since the receiver is most often capable of providing avelocity measurement at a rate higher than the rate at which theposition is provided, the extrapolation can be further refined by usinga new velocity measurement at each intermediate time. For example, a GPSreceiver which provides one position per second can provide a velocityevery 0.2 seconds.

This solution is particularly advantageous for obtaining very precisepositions in a differential GPS receiver application, that is to say inan application in which the receiver receives not only the signals fromseveral satellites, but also the signals from a fixed terrestrialbeacon, of known position, in proximity to the site where the receiveris.

If the rules for calculating extrapolated position are suitably chosen,it is also possible to avoid the influence of sudden jumps in positionwhen the satellite constellation is changed: the measurement errorsaffecting the various satellites are not the same from one group ofsatellites to another, and a measurement taken with a first group ofsatellites will not give exactly the same position as a measurementtaken at the same site with a different group. Since the receiver andthe satellites move, the receiver successively sees differentconstellations and, when one satellite leaves the field of observationof the receiver and is replaced by another, the new position may jumpsuddenly by a small value. This situation is frequently encountered inan aircraft because the roll of the aircraft when its course changesmodifies the constellations seen by the GPS receiver. Calculations ofposition corrected on the basis of previously calculated positions makeit possible to smooth the transition between two different measurements,whether or not by using the velocity information, use of the velocitybeing of course preferable.

This advantage of position smoothing when faced with constellationchanges is obtained, in particular, by means of calculation means whichprovide a corrected position at a given time, this corrected positiontaking into account the position measured at this time and a correctedposition calculated at a preceding time. The difference between thesetwo positions is preferably calculated, it is multiplied by acoefficient less than 1 and it is added to the previously correctedposition. If the velocity is utilized, the procedure is preferably asfollows: in order to obtain a corrected position at a time following theprovision of a position measurement by the receiver (and before anothermeasurement), the following two terms are added to the correctedposition calculated at the preceding time:

product of the current velocity (in practice the velocity at the currenttime or at the preceding time) multiplied by the time interval dTseparating the two successive times at which the corrected position iscalculated, and

product of the difference between the measured position and thecorrected position calculated at the preceding time, multiplied by acoefficient less than 1.

This is equivalent to saying that the velocity is integrated between twomeasurements in order to correct the position, and a smoothing term isadded.

BRIEF DESCRIPTION OF THE DRAWINGS

Other characteristics and advantages of the invention will becomeapparent on reading the following detailed description which is givenwith reference to the appended drawings, in which:

FIG. 1 represents the overall structure of a GPS receiver in which thepresent invention may be implemented;

FIG. 2 represents a device for implementing the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 gives a brief overview of the general principle of a GPSreceiver. The receiver has a radiofrequency part, comprising an antennaA1, a radiofrequency amplifier 20 and various associated filteringcircuits, frequency conversion circuits 30 and an analog to digitalconverter 40. The converter makes it possible to deliver relativelylow-frequency digital signals intended to be processed in a digitalsignal processing circuit 50. This circuit is controlled by amicroprocessor 60 and associated calculation and control software.

The microprocessor 60 has two functions:

on the one hand, it works out digital data used by the digital signalprocessing circuit 50, on the basis of digital data delivered by thiscircuit; in particular, it performs numerical calculations necessary forthe digital slaving loops present in the digital processing circuit 50;

and on the other hand it gives final results of position, time andvelocity calculation to the user, that is to say either on a digitaldisplay screen or on a digital bus to other equipment which need theresults.

It could clearly be possible to have two separate processors forperforming these two functions. In the embodiment with a singlemicroprocessor 60, a bus 70 has been represented for exchanges betweenthe microprocessor 60, the processing circuit 50, an input/outputperipheral 80, the working memories 90, and the program memories 100which contain the programs needed for the microprocessor to function.

Very briefly, the digital signal processing circuit has either a singleprocessing channel, with the information from the various satellitesbeing multiplex-processed, or preferably several channels which eachwork in parallel on a determined satellite.

Each channel has a double slaving loop: carrier phase slaving and codephase slaving.

The carrier phase loop essentially uses a local oscillator with digitalphase control, delivering a periodic (sawtooth) digital phase at afrequency corresponding to the transposed carrier frequency, taking intoaccount the Doppler effect to which the carrier frequency broadcasted bya satellite is subjected. The Doppler effect is taken into account bythe very fact of the existence of the slaving loops. The microprocessor60 calculates a carrier phase error signal; this signal is used tocontrol the local oscillator in order to slave a local carrier frequencyto the carrier frequency received from the satellite.

The code phase slaving loop has a local code generator driven by anoscillator with digital phase control. It makes it possible to slave thelocal codes to the code received from the satellite and then to be ableto determine the exact temporal position of the local codes thus slaved.The local code is correlated with the code received from the satellite;the correlation signal is calculated by the microprocessor and is usedto slave the loop in order to bring the local code into synchrony withthe code received from the satellite.

The two slaving loops, for code and carrier, take into account theDoppler frequency shift on the carrier frequency and on the code, whichresult from the relative motion of the aircraft and the detectedsatellite. This Doppler shift can be measured in the loops.

The GPS time and position calculations are performed on the basis of thestatus of the slaving loops at a determined measurement time. At thistime, the exact status of the phase of the two oscillators with digitalphase control are read.

The slaving loops provided in the receiver act to lock a local frequencyonto the carrier frequency received from the satellites. The shiftbetween this local frequency and the stable and known frequencytransmitted by the satellites gives an indication of Doppler shift andtherefore the difference between the velocity of the satellite and thevelocity of the receiver along the axis joining the satellite to thereceiver.

Consequently, on the basis of measurements taken on the pseudo-randomcode, a so-called “resolved position” is calculated in the terrestrialframe; and, on the basis of measurements taken on the carrierfrequencies, and therefore by Doppler-effect measurements, a velocity ofthe receiver in the terrestrial frame is calculated.

According to a first aspect of the invention, the velocity measurementis used to provide an extrapolated position during the time intervalseparating the provision of a first position from the provision of a newposition. The velocity measurement is that resulting from the Dopplermeasurements in the pseudo-distance measurement circuits, which make itpossible to calculate the position of the receiver on the basis of thepositions of the satellites.

Let p_(i) be the resolved position at a time T_(i), Band V_(i) theresolved velocity at this time T_(i). P_(i) and V_(i) are vectors in theterrestrial frame. Let kdT be the time interval after which a newposition measurement is obtained: a new position is calculated by thereceiver at a time T_(i+1)=T_(i)+kdT. Let j be an index (j=1 to k)representing intermediate times T_(i,j) at which it is desired to obtainextrapolated positions P_(i,j) on the basis of the position P_(i) untilthe provision of the position P_(i+1). These times are separated by theduration dT. For j=k, the time T_(i,k) corresponds to the time T_(i+1),that is to say the measurement of the next position sample.

An intermediate position is worked out at a given time by adding to theposition determined at the preceding time the product of the velocitymultiplied by the time interval separating the two times in question:

P_(i,1)=P_(i)+V_(i)·dT, then P_(i,2)=P_(i,1)+V_(i)·dT,P_(i,j+1)=P_(i,j)+V_(i)·dT, etc·, and finallyP_(i,k−1)=P_(i,k−2)+V_(i)·dT

If the velocity V_(i) is provided at a faster rate than the position,the last known value of velocity is preferably used at each increment.In particular, if dT represents the time interval separating twovelocity calculations by the receiver and if V_(i,j) then represents thevelocity at time T_(i)+j·dT, then the corrected position at timeT_(i)+(j+1)·dT is written:

P_(i,j+1)=P_(i,j)+V_(i,j)·dT

Independently of the extrapolation using the velocity, provision mayalso be made to calculate a smoothed corrected position on the basis ofthe positions previously calculated. This makes it possible, inparticular, to avoid jumps in position when the constellation changes.In this case, the filtered position at a time T_(i,j+1) can becalculated on the basis of the filtered position at time T_(i,j) and ofthe position calculated at time T_(i), by the formula:

P_(i,j+1)=P_(i,j)+α·(P_(i)−P_(i−1,k))

where α is a smoothing coefficient less than 1/k, k being the number ofintermediate samples between two position measurements P_(i) andP_(i+1).

P_(i−1,k) is the filtered position at the moment of the positionmeasurement P_(i) (time T_(i)). It therefore corresponds to thecalculation of filtered position at the time T_(i) when a new positionsample P_(i) is provided, this calculation resulting from the precedingmeasurements of position and velocity.

This means that convergent iteration is used to correct the positionwhich is calculated with a fraction of the difference between theresolved position and a previously corrected position.

If the velocity extrapolation and the smoothing filtering are combined,the corrected position P_(i,j+1) at the intermediate time T_(i,j+)can becalculated by the formula:

P_(i,j+1)=P_(i,j)+V_(i,j)·dT+α·(P_(i)−P_(i−1,k))

Therefore, at each extrapolation time, a corrected position P_(i,j+1) isprovided which takes account of the filtered position P_(i−1,k)calculated at the preceding position measurement time, of the velocityV_(i,j) known at the preceding extrapolation time (or the last knownvelocity), and finally the last position P_(i) provided by themeasurements of the receiver.

More precisely, the corrected position at time j+1 is deduced from thecorrected position at the preceding time j with a first term which isthe integral of the velocity over the interval which separates these twotimes, and with a second term which is a fraction of the differencebetween the measured position at time T_(i) and the corrected positionat time T_(i−1).

So long as the position P_(i) and the velocity V_(i,j) are available,the invention can be implemented to calculate a corrected position ateach time.

One embodiment of the invention consists in integrating the velocityV_(i,j) at each time to work out an extrapolation term representingV_(i,j)·dT. The smoothing term α·(P_(i)−P_(i−1,k)) can be obtained byworking out the difference (P_(i)−P_(i−1,k)) and multiplying it by anattenuation coefficient α.

However, it is also possible, in an embodiment with numericalcalculation, to integrate a term β(P_(i)−P_(i−1,k))·dT, that is to sayto calculate β(P_(i)−P_(i−1,k))·dT, in which β is a smoothingcoefficient, homogeneous with a frequency and such that β·dT<1.

The device represented in FIG. 2 makes it possible to implement theinvention in this latter form. It may be produced in hardware form or insoftware form. The microprocessor 60 in FIG. 1 makes it possible toperform the calculations. The block 20 represents a function ofcalculating position on the basis of the physical measurements providedby the receiver based on the random code positions in the satellitesignals. The block 22 represents a function of calculating velocity onthe basis of the measurements of carrier frequency of the satellitesignals. The position calculated by the block 20 is expressed inprinciple at longitude LG, latitude LT and altitude AL. The velocitycalculated by the block 22 is expressed in east-west velocity VE, innorth-south velocity VN and in vertical velocity VZ.

If the velocities VN and VE are not expressed using the same distanceunits as the latitudes and longitudes, unit conversions are performed bythe blocks 24 and 26 (example: longitudes and latitudes expressed indegrees/minutes and velocities in metres/seconds).

The corrected position is provided in longitude, latitude and altitudeon the outputs LGc, LTc and ALc. Subtractors 28, 30, 32 establish thedifference between the measured position LG, LT, AL and the correctedposition LGc, LTc, ALc at the moment of the measurement (time T_(i)).These differences are stored in memory in the blocks 29, 31, 33 whichkeep these differences until the next position measurement time T_(i+1).Multipliers 34, 36, 38 multiply these differences by the same smoothingcoefficient β or by different coefficients, for example one coefficientβ_(h) for the horizontally measured positions (longitude and latitude)and β_(v) for the vertically measured positions. Adders 40, 42, 44 addthe outputs of the multipliers, respectively, to the velocities Ve, Vnand VZ. Finally, integrators 46, 48, 50 integrate the outputs of theadders 40, 42, 44, the outputs of these integrators providing thecorrected positions LGc, LTc, ALc. In a purely numerical form ofprocessing, the integrators make do with multiplying the outputs of theadders 40, 42, 44 by the time interval dT between two successivecalculations of corrected position.

This device therefore makes it possible to provide the positionscorrected according to the principles explained above. The repetitionfrequency may be 5 hertz, even though the uncorrected positionmeasurements are provided at about 1 hertz.

The detailed mathematical formulae are as follows, in which thecomponents of the position and velocity vectors and the smoothingcoefficient β have been given in detail. This coefficient may bedifferent for the longitude and latitude (β_(h)) and for the altitude(β_(v)). $\begin{bmatrix}{LTc} \\{LGc} \\{ALc}\end{bmatrix}_{i,{j + 1}} = {\begin{bmatrix}{LTc} \\{LGc} \\{ALc}\end{bmatrix}_{i,j} + \begin{bmatrix}{{Vn} \cdot {dT}} \\{{ve} \cdot {dT}} \\{{VZ} \cdot {dT}}\end{bmatrix}_{i,j} + {\begin{bmatrix}\beta_{h} & 0 & 0 \\0 & \beta_{0} & 0 \\0 & 0 & \beta_{v}\end{bmatrix}\quad\begin{bmatrix}{{LT}_{i} - {LTc}_{{i - 1},k}} \\{{LG}_{i} - {LGc}_{{i - 1},k}} \\{{ALA}_{i} - {alc}_{{i - 1},k}}\end{bmatrix}}}$

In one example, B_(v)dT=β_(h)dT0.2.

What is claimed is:
 1. A satellite positioning receiver, comprising:position determining means for determining a measured position of thesatellite positioning receiver based upon pseudo-random codemeasurements of received satellite signals, wherein each measuredposition is determined by the determining means at each of a series ofmeasurement times that are separated from each other by a predeterminedinterval of time; velocity determining means for determining measuredvelocity of the satellite positioning receiver by Doppler-effectmeasurement based upon satellite carrier signals detected by thesatellite positioning receiver; and means for extrapolating correctedintermediate positions of the satellite positioning receiver between twomeasured positions based on the first occurring measured position of thetwo measured positions and the measured velocity.
 2. The satellitepositioning receiver according to claim 1, wherein the means forextrapolating includes means for providing, at a current time, acorrected position which takes into account the position determined atthe current time and a preceding corrected position previouslydetermined.
 3. The satellite positioning receiver according to claim 2,wherein the means for providing a corrected position includes means foradding to the preceding corrected position the difference between theposition determined at the current time and the preceding correctedposition, said difference being multiplied by a smoothing coefficientless than
 1. 4. The satellite positioning receiver according to claim 3,wherein the velocity measurement used to extrapolate the correctedposition at a given time is the last velocity measurement provided bythe satellite positioning receiver before the given time.
 5. Thesatellite positioning receiver according to claim 2, wherein thevelocity measurement used to extrapolate the corrected position at agiven time is the last velocity measurement provided by the satellitepositioning receiver before the given time.
 6. The satellite positioningreceiver according to claim 1, wherein the velocity measurement usedextrapolate a corrected position at a given time is the last velocitymeasurement provided by the satellite positioning receiver before thegiven time.
 7. The satellite positioning receiver according to claim 6,wherein the means for extrapolating the corrected position at a giventime includes means for integrating the velocity at a preceding timeover a period of time corresponding to the difference between the giventime and the preceding time.
 8. The satellite positioning receiveraccording to claim 7, wherein the means for extrapolating the correctedposition at a given time includes means for adding the following twoterms to the corrected position determined at the preceding time:product of the current velocity multiplied by the time intervalseparating the given time and the preceding time, product of thedifference between the current measured position and the correctedposition at the preceding time and a coefficient less than
 1. 9. Thesatellite positioning receiver according to claim 7, further comprisingmeans for integrating the measured velocity, and means for integratingthe difference between the current measured position and the correctedposition, the difference being assigned a smoothing coefficient β whichis homogeneous with a frequency and such that βdT is less than unity,where dT is the time interval between two successive determinations ofcorrected position.
 10. A satellite positioning receiver, comprising:position determining means for determining a measured position of thesatellite positioning receiver based upon pseudo random codemeasurements of received satellite signals, wherein each measuredposition Pi,o is determined by the determining means at each of a seriesof successive measurement times Ti that are separated from each other bya predetermined interval of time k·dT where k is an integer greater that2, dT is an elementary time interval and i is an integer index; velocitydetermining means of determining a measured velocity V of the satellitepositioning receiver by Doppler-effect measurement based upon satellitecarrier signals detected by the satellite positioning receiver; andmeans for extrapolating intermediate positions P1j+1 of the satellitepositioning receiver at times Ti+j·dT between two successive times Tiand Ti+1, j being an integer index between 1 and k−1, said means forextrapolating comprising means for computing Pij+1 by adding a term V·dTto a previous determined position Pij.
 11. A satellite positioningreceiver according to claim 10, wherein said measured velocity V is avelocity Vi,j at time Ti+j·dT, j being an integer index between 1 andk−1.
 12. A satellite positioning receiver according to one of claims 10or 11, wherein said extrapolating means further comprise means foradding a term α(Pi,0−Pi−1,k), where Pi−1, k is a corrected positioncalculated by said extrapolating means for time T1−1+k·dT and α is acoefficient smaller than unity.
 13. A satellite positioning receiver,comprising: position determining means for determining a measuredposition of the satellite positioning receiver based upon pseudo randomcode measurements of received satellite signals, wherein each measuredposition Pi, 0 is determined by the determining means at each of aseries of successive measurement times Ti that are separated from eachother by a predetermined interval of time k·dT where k is an integergreater than 2, dT is an elementary time interval and i is an integerindex; velocity determining means for determining a measured velocityVij of the satellite positioning receiver by Doppler-effect measurementat times Ti+j·dT based upon satellite carrier signals detected by thesatellite positioning receiver, j being an index between 1 and k; andmeans for extrapolating corrected intermediate positions Pi,j+1 of thesatellite positioning receiver at times T1+j·dT between two successivetimes T1 and T1+1, based on velocity Vi,j, said means for extrapolatingcomprising means for integrating a difference between current measuredposition Pi,0 and a corrected position Pi−1,k computed by saidextrapolating means at time Ti−1+k·dT, said difference being assigned asmoothing coefficient β which is homogeneous with a frequency and suchthat βdT is less than unity.